home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / 2.01 sources / Library-2.01 / Interfaces / picker.lisp < prev    next >
Encoding:
Text File  |  1993-09-16  |  3.0 KB  |  113 lines  |  [TEXT/CCL2]

  1.  
  2. (in-package :traps)             ; 
  3. ; Created: Friday, October 20, 1989 at 8:56 AM
  4. ;     Picker.p
  5. ;     Pascal Interface to the Macintosh Libraries
  6. ;     Copyright Apple Computer, Inc.    1987-1989
  7. ;     All rights reserved
  8.  
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  10. ;;
  11. ;; Modification History
  12. ;;
  13. ;; 04/28/93 mwp Release
  14. ;; 04/27/92 bill :signed-integer -> :unsigned-integer where appropriate
  15. ;;
  16.  
  17. ; $IFC UNDEFINED UsingIncludes
  18. ; $SETC UsingIncludes := 0
  19. ; $ENDC
  20.  
  21. ; $IFC NOT UsingIncludes
  22.  
  23. ; $ENDC
  24.  
  25. ; $IFC UNDEFINED UsingPicker
  26. ; $SETC UsingPicker := 1
  27.  
  28. ; $I+
  29. ; $SETC PickerIncludes := UsingIncludes
  30. ; $SETC UsingIncludes := 1
  31. ; $IFC UNDEFINED UsingQuickdraw
  32.  
  33. (require-interface 'QUICKDRAW)  ; $I $$Shell(PInterfaces)Quickdraw.p
  34. ; $ENDC
  35. ; $SETC UsingIncludes := PickerIncludes
  36.  
  37. ;  
  38.  
  39. (defconstant $MaxSmallFract #xffff); Maximum small fract value, as long
  40.  
  41. (def-mactype :smallfract (find-mactype :unsigned-integer))
  42.  
  43. (defrecord HSVColor 
  44.    (hue :unsigned-integer)         ; Fraction of circle, red at 0
  45.    (saturation :unsigned-integer)  ; 0-1, 0 for gray, 1 for pure color
  46.    (value :unsigned-integer)       ; 0-1, 0 for black, 1 for max intensity
  47.    )
  48.  
  49. ;  For developmental simplicity in switching between the HLS and HSVmodels, HLS
  50. ;  is reordered into HSL.  Thus both models start with hue and saturation values;
  51. ;  value/lightness/brightness is last. 
  52. (defrecord HSLColor 
  53.    (hue :unsigned-integer)        ; Fraction of circle, red at 0
  54.    (saturation :unsigned-integer) ; 0-1, 0 for gray, 1 for pure color
  55.    (lightness :unsigned-integer)  ; 0-1, 0 for black, 1 for white
  56.    )
  57.  
  58. (defrecord CMYColor 
  59.    (cyan :unsigned-integer)
  60.    (magenta :unsigned-integer)
  61.    (yellow :unsigned-integer)
  62.    )
  63.  
  64.  
  65. (deftrap _fix2smallfract ((f :signed-long))
  66.    (:stack :unsigned-integer)
  67.    (:stack-trap #xA82E f (1 :signed-integer)))
  68.  
  69. (deftrap _smallfract2fix ((s :unsigned-integer))
  70.    (:stack :signed-long)
  71.    (:stack-trap #xA82E s (2 :signed-integer)))
  72.  
  73. (deftrap _cmy2rgb ((ccolor :cmycolor) (rcolor (:pointer :rgbcolor)))
  74.    nil
  75.    (:stack-trap #xA82E ccolor rcolor (3 :signed-integer)))
  76.  
  77. (deftrap _rgb2cmy ((rcolor :rgbcolor) (ccolor (:pointer :cmycolor)))
  78.    nil
  79.    (:stack-trap #xA82E rcolor ccolor (4 :signed-integer)))
  80.  
  81. (deftrap _hsl2rgb ((hcolor :hslcolor) (rcolor (:pointer :rgbcolor)))
  82.    nil
  83.    (:stack-trap #xA82E hcolor rcolor (5 :signed-integer)))
  84.  
  85. (deftrap _rgb2hsl ((rcolor :rgbcolor) (hcolor (:pointer :hslcolor)))
  86.    nil
  87.    (:stack-trap #xA82E rcolor hcolor (6 :signed-integer)))
  88.  
  89. (deftrap _hsv2rgb ((hcolor :hsvcolor) (rcolor (:pointer :rgbcolor)))
  90.    nil
  91.    (:stack-trap #xA82E hcolor rcolor (7 :signed-integer)))
  92.  
  93. (deftrap _rgb2hsv ((rcolor :rgbcolor) (hcolor (:pointer :hsvcolor)))
  94.    nil
  95.    (:stack-trap #xA82E rcolor hcolor (8 :signed-integer)))
  96.  
  97. (deftrap _getcolor ((where :point) (prompt (:string 255)) (incolor :rgbcolor) (outcolor (:pointer :rgbcolor)))
  98.    (:stack :boolean)
  99.    (:stack-trap #xA82E where prompt incolor outcolor (9 :signed-integer)))
  100.  
  101. ; $ENDC                         ;  UsingPicker 
  102.  
  103. ; $IFC NOT UsingIncludes
  104.  
  105. ; $ENDC
  106.  
  107.  
  108. (export '($maxsmallfract))
  109. (provide-interface 'Picker)